package com.zzj.ecology.system.service.system;

import com.zzj.ecology.system.bean.system.SysPermission;
import com.zzj.ecology.system.dto.HttpResult;
import com.zzj.ecology.system.domain.Page;
import com.zzj.ecology.system.bean.vo.dtree.DTreeResponse;

import java.util.List;

/**
 * @ClassName SysPermissionService
 * @Description TODO
 * @Author zhijun zeng at 2020/2/28
 * @Version 1.0
 **/
public interface SysPermissionService {

    /**
     * 查询 所有 权限数据
     * @return
     */
    List<SysPermission> findPermissionListSelectDisplay();

    HttpResult findPageList(Page page);

    /**
     * 查询 Dtree 数据结构,用于前端 下拉框选择, 查询 delete_status = '0' 表示未删除的数据
     * @return
     */
    DTreeResponse dtree();

    /**
     * 创建新的权限记录
     * @param sysPermission
     * @return
     */
    HttpResult create(SysPermission sysPermission);

    /**
     * 修改权限
     * @param sysPermission
     * @return
     */
    HttpResult update(SysPermission sysPermission);

    /**
     * 批量删除权限， 标记删除
     * @param userids
     * @param username
     * @return
     */
    HttpResult updateDeleteStatusByIds(List<Integer> userids, String username);

    /**
     * 根据 urlid 查询关联的 permission
     * @param urlId
     * @return
     */
    SysPermission findByUrlId(Integer urlId);


//    List<SysPermission> findListByUserId(Integer id);

//
//    HttpResult findParentsListDetail();
//
//    HttpResult findListByRoleId(Integer roleId);
//
//    boolean isNotExistRoleCode(String permissionCode);
//
//    HttpResult create(SysPermission sysPermission);
//
//    HttpResult findWithoutParentsList();
//
//    HttpResult update(SysPermission sysPermission);
//
//    HttpResult deleteAndUnGrant(Integer[] ids);
//

}
